<?php

/**
 * Description of notas
 *
 * @author Machete
 */
class Notas extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->model('notas_model');
        $this->load->model('cursos_model');
    }

    function index() {
//        $config['base_url'] = base_url() . "admin/notas/index/";
//        $config['total_rows'] = $this->notas_model->get_total_registros();
//        $config['per_page'] = REGISTROS_POR_PAGINA;
//        $this->pagination->initialize($config);
//        $datos['notas_listado'] = $this->db->get('notas', $config['per_page'], (int) $this->uri->segment(3));
//        $datos['total_registros'] = $this->notas_model->get_total_registros();
        $datos['select_cursos'] = $this->cursos_model->get_listado_2();
        $datos['contenido_principal'] = 'matriculas/notas';
        $this->load->view('plantilla/plantilla', $datos);
    }

    function cargar_datos() {
        $curso = $this->input->post('select_cursos');
        $datos['alumnos_listado'] = $this->notas_model->get_alumnos_por_curso($curso);
        $datos['nombre_curso'] = $this->cursos_model->get_nombre_curso($curso);
        $datos['total_alumno_por_curso'] = $this->notas_model->get_total_alumno_curso($curso);
        $datos['id_curso'] = $curso;
        $datos['contenido_principal'] = 'matriculas/notas_cargar_alumnos';
        $this->load->view('plantilla/plantilla', $datos);
    }

    function nuevo() {
        $data['contenido_principal'] = 'carreras/notas_nuevo';
        $this->load->view('plantilla/plantilla', $data, FALSE);
    }

    function guardar() {
//        $this->form_validation->set_rules('nota1', 'nota1', 'trim|required|decimal|xss_clean');
//        $this->form_validation->set_rules('nota2', 'nota2', 'trim|decimal|xss_clean');
//        $this->form_validation->set_rules('nota3', 'nota3', 'trim|decimal|xss_clean');
//        $this->form_validation->set_rules('nota4', 'nota4', 'trim|decimal|xss_clean');
//        $this->form_validation->set_rules('nota5', 'nota5', 'trim|decimal|xss_clean');
//
//        $this->form_validation->set_message('decimal', 'El campo %s debe contener decimales');
//
//        if ($this->form_validation->run() == FALSE) {
//            $this->cargar_datos();
//        } else {
        $nro_registros = $this->input->post('nro_registros');
        $idcurso = $this->input->post('id_curso');
        for ($i = 1; $i <= $nro_registros; $i++) {
            $idalumno = $this->input->post('id_alumno_' . $i);
            $nota1 = $this->input->post('nota1_' . $i);
            $nota2 = $this->input->post('nota2_' . $i);
            $nota3 = $this->input->post('nota3_' . $i);
            $nota4 = $this->input->post('nota4_' . $i);
            $nota5 = $this->input->post('nota5_' . $i);
            $promedio = $this->input->post('promedio_' . $i);
            $this->notas_model->actualizar_notas($idcurso, $idalumno, $nota1, $nota2, $nota3, $nota4, $nota5, $promedio);
        }
        redirect('admin/notas');
    }

    function editar($id) {
        $datos['contenido_principal'] = 'carreras/areas_editar';
        $datos['curso_editar'] = $this->notas_model->get_datos_registro($id);
        $this->load->view('plantilla/plantilla', $datos);
    }

    function actualizar() {
        $codigo = $this->input->post('txtCodigoOculto');
        $idcurso = $this->input->post('select_curso');
        $idalumno = $this->input->post('select_alumno');
        $nota1 = $this->input->post('txtnota1');
        $nota2 = $this->input->post('txtnota2');
        $nota3 = $this->input->post('txtnota3');
        $nota4 = $this->input->post('txtnota4');
        $nota5 = $this->input->post('txtnota5');
        $promedio = ($nota1 + $nota2 + $nota3 + $nota4 + $nota5) / 5;

        $this->notas_model->actualizar($codigo, $idcurso, $idalumno, $nota1, $nota2, $nota3, $nota4, $nota5, $promedio);
        redirect('admin/notas');
    }

    function eliminar($id) {
        //$codigo = $this->input->post('txtCodigoOculto2');
        $this->notas_model->eliminar($id);
        redirect('admin/notas');
    }

    function buscar() {
        $palabras = $this->input->post('txtbuscar');
        if (empty($palabras)) {
            redirect('admin/notas');
        } else {
            $datos['notas_buscar'] = $this->notas_model->buscar($palabras);
            $datos['contenido_principal'] = 'carreras/notas_buscar';
            $this->load->view('plantilla/plantilla', $datos);
        }
    }

    function exportar_xls() {
        $this->db->select('a.id, c.nombre, b.apellidos, b.nombres, a.nota1, a.nota2, a.nota3, a.nota4, a.nota5, a.promedio');
        $this->db->from('notas a, alumno b, curso c');
        $this->db->where('a.idalumno = b.id and a.idcurso = c.id and a.idcurso = 1');
        $query = $this->db->get();

        if (!$query)
            return false;

        // Starting the PHPExcel library
        $this->load->library('PHPExcel');
        $this->load->library('PHPExcel/IOFactory');

        $objPHPExcel = new PHPExcel();
        $objPHPExcel->getProperties()->setTitle("export")->setDescription("none");

        $objPHPExcel->setActiveSheetIndex(0);

        // Field names in the first row
        $fields = $query->list_fields();
        $col = 0;
        foreach ($fields as $field) {
            $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, 1, $field);
            $col++;
        }

        // Fetching the table data
        $row = 2;
        foreach ($query->result() as $data) {
            $col = 0;
            foreach ($fields as $field) {
                $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $data->$field);
                $col++;
            }

            $row++;
        }

        $objPHPExcel->setActiveSheetIndex(0);

        $objWriter = IOFactory::createWriter($objPHPExcel, 'Excel5');

        // Sending headers to force the user to download the file
        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment;filename="Notas_' . date('dMy') . '.xls"');
        header('Cache-Control: max-age=0');

        $objWriter->save('php://output');
    }

}

?>
